home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / c_lib.arc / FLRETDTA.C < prev    next >
Text File  |  1990-08-09  |  1KB  |  47 lines

  1. /**
  2. *
  3. *  Name         flretdta -- Return the Disk Transfer Area (DTA) location
  4. *
  5. *  Synopsis     ercode = flretdta(pdta_ads);
  6. *               int ercode        DOS function return code
  7. *               ADS *pdta_ads     Segment, offset address for the DTA
  8. *
  9. *  Description  This function returns the segment offset address of the
  10. *               current DTA.  See FLSETDTA.
  11. *
  12. *  Returns      ercode            DOS function return code (always 0).
  13. *               pdta_ads          Current segment and offset of the DTA
  14. *
  15. *  Version      1.1  (C)Copyright Blaise Computing Inc.  1983, 1984
  16. *
  17. **/
  18. struct segads                          /* Segment,offset address type  */
  19. {
  20.   unsigned r;
  21.   unsigned s;
  22. };
  23. #define ADS     struct segads          /* Abbreviation                 */
  24.  
  25. struct dreg
  26. {
  27.   unsigned ax,bx,cx,dx,si,di,ds,es;
  28. };
  29. #define DOSREG  struct dreg
  30.  
  31. int flretdta(pdta_ads)
  32. ADS *pdta_ads;
  33. {
  34.  
  35.     DOSREG dos_reg;
  36.     int    ercode,utinit(),dos();
  37.  
  38.     utinit(&dos_reg);                  /* Initialize registers         */
  39.     dos_reg.ax  = 0x2f00;              /* DOS function 2F              */
  40.     ercode      = dos(&dos_reg);
  41.     pdta_ads->s = dos_reg.es;
  42.     pdta_ads->r = dos_reg.bx;
  43.  
  44.     return(ercode);
  45.  
  46. }
  47.